Skip to content

feat: MQA quality scoring — Phase 2 vocabulary checks (v2.14.0)#56

Merged
daimpad merged 1 commit into
mainfrom
claude/fix-data-prep-errors-kJYpl
Jul 7, 2026
Merged

feat: MQA quality scoring — Phase 2 vocabulary checks (v2.14.0)#56
daimpad merged 1 commit into
mainfrom
claude/fix-data-prep-errors-kJYpl

Conversation

@daimpad

@daimpad daimpad commented Jul 7, 2026

Copy link
Copy Markdown
Owner

MQA-Scoring — Phase 2 (Vokabular-Checks, offline)

Bewertet die MQA-Metriken vom Typ vocabrein offline, ohne neue Formularfelder (alle Eingaben existieren seit v2.12.0).

Neu bewertet

Metrik Punkte Prüfung
Format/Media-Type aus Vokabular 10 Format ist Teil des kontrollierten EU-File-Type-Sets
Nicht-proprietäres Format 20 Flag non_proprietary in dct-format-list.php
Maschinenlesbares Format 20 Flag machine_readable in dct-format-list.php
Lizenz aus Vokabular 10 Lizenz-URI im bekannten Set (licenses.txt / Standardlizenzen)
Zugriffsrechte aus Vokabular 5 Wert aus dem EU-Access-Right-Vokabular

Bewertbares Maximum: ~230 → ~295 von 405 (alles offline). Es verbleiben nur URL-Erreichbarkeit (80) und DCAT-AP-SHACL (30) als „nicht bewertet" (Phase 3, opt-in).

Änderungen

  • config/dct-format-list.php: machine_readable + non_proprietary je Format (an den EU-Vokabularen orientiert)
  • ODW_Fields::get_format_meta(): öffentlicher Accessor für den Format-Config-Eintrag
  • ODW_Quality::check_vocab_metric() + Lizenz-/Access-Right-Vokabular-Helfer
  • Meta-Box-Hinweis „nicht bewertet" aktualisiert (Vokabular jetzt bewertet)
  • i18n: aktualisierter String in en_US

Verifikation

  • ✅ PHPUnit 149 (neu: Format-Flags — CSV offen/maschinenlesbar, XLSX proprietär, „Sonstiges" ohne Vokabular), PHPStan clean, PHPCS exit 0
  • Version → 2.14.0

Nächster Schritt (optional): Phase 3 — URL-Erreichbarkeit (wp_remote_head, gecacht) + DCAT-AP-SHACL, per Einstellung aktivierbar.

🤖 Generated with Claude Code


Generated by Claude Code

Score the MQA 'vocab'-type metrics offline (no new form fields needed since
all inputs exist as of v2.12.0):

- Format/media-type from vocabulary (10): format is part of the controlled EU
  file-type set
- Non-proprietary format (20) + machine-readable format (20): from new flags in
  config/dct-format-list.php (aligned with the EU vocabularies)
- License from vocabulary (10): license URI is in the known license set
  (config/licenses.txt / standard licenses)
- Access rights from vocabulary (5): value comes from the EU access-right vocab

The assessable maximum rises from ~230 to ~295 of 405 (all offline). Only URL
reachability (80) and DCAT-AP SHACL (30) remain "not assessed" (Phase 3, opt-in).

- config/dct-format-list.php: add machine_readable + non_proprietary per format
- ODW_Fields::get_format_meta(): public accessor for a format's config entry
- ODW_Quality::check_vocab_metric() + license/access-right vocab helpers
- Meta-box "not assessed" hint updated (vocabulary now assessed)
- i18n: updated string added to en_US

Version 2.14.0. Tests: 149 pass, PHPStan clean, PHPCS exit 0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JB1xUQM892bVZ4Yv3MZjvq
@daimpad daimpad merged commit e2236aa into main Jul 7, 2026
10 checks passed
@daimpad daimpad deleted the claude/fix-data-prep-errors-kJYpl branch July 7, 2026 13:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants